package org.springleaf.core.mvc.service;

import java.io.Serializable;

import org.springleaf.core.query.PageList;
import org.springleaf.core.query.QueryObject;

public interface BaseService<T> {

	/**
	 * 通过ID得到对象
	 */
	public T get(Serializable id);

	/**
	 * 保存对象
	 */
	public Object save(T obj);

	/**
	 * 删除对象
	 */
	public void delete(T obj);
	
	/**
	 * 通过ID删除对象
	 */
	public void delete(Serializable id);

	/**
	 * 更新对象
	 */
	public void update(T obj);
	
	/**
	 * 分页查询
	 * @param qo
	 * @return
	 */
	public PageList<T> query(QueryObject qo);
}
